草庐IT

java - JUnit 在 JAR 中运行测试

全部标签

ruby - 如何使用 RSpec 测试无效参数引发 ArgumentError 异常?

我正在编写一个RubyGem,如果提供给其单一方法的参数无效,它可以引发ArgumentError。我如何使用RSpec为此编写测试?下面的例子展示了我想到的那种实现方式。bar方法需要一个bool参数(:baz),检查其类型以确保它实际上是一个bool值:moduleFoodefself.bar(options={})baz=options.fetch(:baz,true)validate_arguments(baz)endprivatedefself.validate_arguments(baz)raise(ArgumentError,":bazmustbeaboolean")un

ruby - 如何阻止 sinatra 运行?

如果rubymyapp.rb在localhost:4567启动sinatra预览,我如何以编程方式停止/暂停/终止它?终端命令(Ctrl-C除外)或Rake任务都可以。我需要将其合并到Rake任务或终端中。 最佳答案 在myapp.rb中,在sinatra启动之前添加:puts"Thisisprocess#{Process.pid}"当你想杀死它时,在shell中执行:kill在哪里是myapp.rb输出的数字。如果你想用ruby来做:Process.kill'TERM',这两个都会让sinatra运行它的退出例程。如果您不想每次都

ruby - 我如何选择不运行 cucumber 功能

如果我在Windows上,我想不运行某些cucumber功能。谷歌和cucumber文档在这里似乎变得干巴巴的很有吸引力。谢谢! 最佳答案 支持Tyler的回答,我想提供以下附加信息:使用CucumberProfiles如果您在多个不同的环境中运行系统,您可能需要创建一个配置文件,然后简单地为您定义一个排除该文件的默认配置文件。#config/cucumber.yml##YAMLTemplate---windows:--tags~@not-windowsdefault:--tags@not-windows执行(在非windows系统

ruby - 在 rspec(和 cucumber )中测试 rake 任务

我是Ruby的新手,我一直在尝试学习Rake、RSpec和Cucumber。我找到了一些可以帮助我测试Rake任务的代码,但我无法让它正常工作。有人告诉我:http://blog.codahale.com/2007/12/20/rake-vs-rspec-fight/放弃这个:defdescribe_rake_task(task_name,filename,&block)require"rake"describe"Raketask#{task_name}"doattr_reader:taskbefore(:all)do@rake=Rake::Application.newRake.ap

ruby-on-rails - 为什么在运行 webrick 服务器时出现未初始化常量设计名称错误?

在我的应用程序中,我使用了ruby​​1.9.2和rails3.0.3,并且还安装了Devisegem。当我运行Webrick服务器时,问题就开始了,我得到了未初始化的常量Devise名称错误。/home/app/Workspace/project/Library_Management/Library_Management/config/initializers/devise.rb:3:in`':uninitializedconstantDevise(NameError)from/home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.

ruby-on-rails - 在后台运行 Webrick 服务器?

MBPro:shovellmyname$rubyscript/server=>BootingWEBrick=>Rails2.3.8applicationstartingonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-Ctoshutdownserver[2010-08-0115:28:35]INFOWEBrick1.3.1[2010-08-0115:28:35]INFOruby1.9.1(2010-07-02)[i386-darwin10.4.0][2010-08-0115:28:35]INFOWEBrick::HTTPServer#sta

ruby-on-rails - 如何从 Ruby 1.9.2 降级到 Ruby 1.8.7 以运行 Rails 2.0.2

我想降级我在Ubuntu10.04操作系统上安装的Ruby版本(Ruby1.9.2),以便我可以使用适当版本的Ruby1.8.7来运行Rails2.0.2。我将旧版本的Rails用于项目目的。如果我将Rails2.0.2与Ruby1.9.2一起使用,它会提示我无法将Enumerator转换为数组。我以为我可以使用rvm,但我不确定它是否适合降级。当我使用命令rvmlistknown时,我在终端中得到以下信息mgj@pc146724-desktop:~$rvmlistknown#MRIRubies[ruby-]1.8.6[-p399][ruby-]1.8.6-head[ruby-]1.8

ruby-on-rails - 在 Heroku 上重启后长时间运行的 delayed_job 作业保持锁定状态

当Herokuworker重新启动时(根据命令或作为部署的结果),Heroku将SIGTERM发送到worker进程。对于delayed_job,SIGTERMsignaliscaught然后工作人员在当前作业(如果有)停止后停止执行。如果工作人员需要很长时间才能完成,那么Heroku将发送SIGKILL。在delayed_job的情况下,这会在数据库中留下一个锁定的作业,不会被其他工作人员接收。我想确保作业最终完成(除非出现错误)。鉴于此,解决这个问题的最佳方法是什么?我看到两个选项。但我想获得其他输入:修改delayed_job以在收到SIGTERM时停止处理当前作业(并释放锁定)

ruby - 如果运行了 tls_start,EventMachine 会在 close_connection 上发出 close_notify 吗?

我正在尝试编写一个基于EventMachine的简单FTPS服务器。控制socket工作正常。当使用数据套接字进行数据传输时,似乎一切正常(TLS握手成功完成并接收到数据),但随后我收到一条错误消息。这是我在Filezilla中得到的:Command:LISTResponse:150OpeningASCIImodedataconnectionforfilelistTrace:CFtpControlSocket::TransferParseResponse()Trace:code=1Trace:state=4Trace:CFtpControlSocket::SendNextCommand

ruby-on-rails - 使用 Rspec 和 Rack::Test 测试 REST-API 响应

我有点难过。我有以下集成测试:require"spec_helper"describe"/foods",:type=>:apidoincludeRack::Test::Methodslet(:current_user){create_user!}let(:host){"http://www.example.com"}beforedologin(current_user)@food=FactoryGirl.create_list(:food,10,:user=>current_user)endcontext"viewingallfoodsownedbyuser"doit"asJSON"d